Prior art data storage devices such as disk drives have drive control systems include means for accepting commands from a host computer including commands related to self-testing, calibration and power management. Each drive has programming code (microcode) in nonvolatile memory for execution by a controller, which is a special purpose processor, to enable it to perform essential functions. The microcode can be updated through the drive's communication interface as described, for example, in U.S. Pat. No. 5,659,801 to Kopsaftis. Various standard communication interfaces with both hardware components and command protocols are commonly used such as IDE, SCSI, Serial ATA, and Fibre Channel Arbitrated Loop (FC-AL).
Commercially available disk drives cannot perform any operation on the data other than those directly related to its storage such as, for example, performing error correction computations. There have been some suggestions for enhancing disk drives (HDD) by adding an application-specific component for receiving and executing application-specific instructions. Published US patent application 20030227703 by F. D. Hinshaw, describes application-specific components which can perform application-specific tasks, such as database operations, using data on the HDDs and return results to a local host or even a remote host via a network. Examples of the application-specific component include a circuit board or an integrated circuit such as an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), or Digital Signal Processor (DSP). The additional component is capable of receiving application-specific instructions via a standard network connection and executing these application-specific instructions on the data contained on the disks. The application-specific component may be in the form of an add-on board which couples to the controller circuit or, alternatively, in the form of an application-specific chip which mates with a socket provided on the controller circuit.
In US patent application 20020162075 by Talagala, et al. a storage system is described which includes a storage array controller and a storage array. The storage array controller issues scrubbing operation commands to one or more of the disk drive controllers. In response, each disk drive controller that receives a scrubbing operation command reads data from within a data range from at least one of the disk drives, calculates a new checksum for the data, and compares the new checksum to a preexisting checksum for the data. If the new checksum doesn't equal the preexisting checksum, the data within the data range is determined to be erroneous.
In US patent application 20040243745 by Bolt, et al., Dec. 2, 2004, a storage system may include a compression device associated with a controller and at least one storage device where the controller is adapted to receive a sequence of data, divide the sequence of data into two or more blocks of data, and compress at least two of the two or more blocks in parallel. The system may further create an index associated with the blocks of data to output the data as a continuous stream of data. The exemplary compression device may provide for fibre channel, Ethernet, SCSI, and other host bus interfaces as well as hardware data compression, ECC, CRC, and data encryption. In one example, dedicated hardware is included to perform parallel compression of the blocks, and reconfigurable hardware is included to perform various data protection methods, such as error correction methods and the like.
In US patent application 20040228533 by Adelmann a method is described for managing data compression activities within a removable storage device that Is receivable by a host device. An exemplary embodiment of the storage device typically includes a storage medium for storing received and compressed data. The storage device further includes a processor for managing data compression functions and writing received and compressed data to the storage medium.
In U.S. Pat. No. 6,421,779, “Electronic Data Storage, Apparatus, System and Method”, a method is described for storing critical data on floppy disks or cd-roms. A “computer in secure case” is used where the floppy disks are loaded to be processed.